#ifndef MOMGR_H
#define MOMGR_H

#include <QAction>
#include <QActionGroup>
#include <QButtonGroup>
#include <QCloseEvent>
#include <QDialog>
#include <QFile>
#include <QFileDialog>
#include <QGroupBox>
#include <QHBoxLayout>
#include <QIODevice>
#include <QLabel>
#include <QLayout>
#include <QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QMessageBox>
#include <QPrintDialog>
#include <QPrinter>
#include <QPushButton>
#include <QShortcut>
#include <QSignalMapper>
#include <QStatusBar>
#include <QString>
#include <QToolBar>
#include <QDomDocument>
#include <QDesktopServices>
#include <QDockWidget.h>

#include <map>
#include <vector>
#include <algorithm>

//using namespace std;


typedef struct _mo
{
	QString Attr;
	QString Value;
}MO;

typedef std::map<QString, std::vector<MO> >::iterator MODATA_ITR;


class MOMGR
{
private:
	MOMGR();
	~MOMGR();

public:
	static MOMGR *Instance();
	std::map<QString, std::vector<MO> > m_modata;
	void Reload();


private:
	static MOMGR *pInstance;
	void Clear();
	bool BuildMoInfo(const QString &pluginName, const QString &file);

};



#endif
